SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

CREATE PROCEDURE [dbo].[spDivisionCursadas]


@Alumno int,
@Division int,
@AnioLectivo int,
@Desde varchar(10),
@Hasta varchar(10) = Null,
@PaseDeOrigen int = Null,
@InscripcionDeOrigen int = Null,
@Baja varchar(1),
@CausaBaja  int = null,

-- Parametro para especifica que operacion es A=Alta, B=Baja, M=Modificacion
@ABM int
AS
SET NOCOUNT ON
--SET @Mnemo = RTRIM(LTRIM(@Mnemo))

--declare @Falta datetime
--Select @Falta = cast(@FechaAlta as datetime)
--if (@FechaBaja <> 'null') begin
--declare @FBaja datetime
--Select @FBaja = cast(@FechaBaja as datetime)
--end


if exists (Select * from tb_AlumnoDivision where Alumno = @Alumno and Division = @Division and AnioLectivo = @AnioLectivo and Desde = @Desde  ) begin
set @ABM = 3
end
else begin
set @ABM = 1
end

if @ABM = 1 begin
BEGIN TRANSACTION
INSERT INTO tb_AlumnoDivision (Alumno,Division,AnioLectivo,Desde,Hasta,PaseDeOrigen,InscripcionDeOrigen,Baja,CausaBaja)
VALUES (@Alumno,@Division,@AnioLectivo,@Desde,@Hasta,@PaseDeOrigen,@InscripcionDeOrigen,@Baja,@CausaBaja)
declare @idRelDivisionAlumno int 
Select @idRelDivisionAlumno =  @@identity


if @@Error = 0
	COMMIT TRANSACTION
else
	ROLLBACK TRANSACTION
end

if @ABM = 3 begin
BEGIN TRANSACTION
UPDATE tb_AlumnoDivision
SET Alumno = @Alumno,Division = @Division,AnioLectivo = @AnioLectivo,Desde = @Desde,Hasta = @Hasta,PaseDeOrigen = @PaseDeOrigen,InscripcionDeOrigen = @InscripcionDeOrigen,Baja = @Baja,CausaBaja= @CausaBaja
where Alumno = @Alumno and Division = @Division and AnioLectivo = @AnioLectivo and Desde = @Desde

if @@Error = 0
	COMMIT TRANSACTION
else
	ROLLBACK TRAN
end

if @ABM = 2 begin
BEGIN TRANSACTION
DELETE tb_AlumnoDivision FROM  tb_AlumnoDivision WHERE  Alumno = @Alumno and Division = @Division and AnioLectivo = @AnioLectivo and Desde = @Desde

if @@error = 0
	COMMIT TRAN
else
	ROLLBACK TRAN

end
GO
